package com.zy.excel.test;

import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.HorizontalAlignment;

public class ExcelUtil {


    /**
     * 把输入的数据输出为excel表格
     * @param sheetName 工作空间名
     * @param title     列名
     * @param values    表格的每个单元格的值
     * @param wb        表格文档的对象
     * @return          表格文档对象
     */
    public static HSSFWorkbook exalUtil(String sheetName,String[] title,String[][] values,HSSFWorkbook wb){

        //1.如果没有收到表格文档对象，则创建一个新的
        if(wb == null){
            wb = new HSSFWorkbook();
        }

        //2.创建一个sheet 工作空间 把接受到的工作空间名赋值
        HSSFSheet sheet = wb.createSheet(sheetName);

        //3.在sheet 中添加第0行 即每一列的名字
        HSSFRow row = sheet.createRow(0);

        //4.设置单元格样式 在设置单元格时可以手动应用
        HSSFCellStyle style = wb.createCellStyle();
        // 创建一个居中格式     因为版本问题，在之前的版本调用的是HSSFCellStyle.ALIGN_CENTER这个静态变量来设置居中
        style.setAlignment(HorizontalAlignment.CENTER);

        //5.声明列对象
        HSSFCell cell = null;

        //6.创建添加标题
        for (int i = 0; i < title.length; i++) {
            cell = row.createCell(i);
            cell.setCellValue(title[i]);
            cell.setCellStyle(style);
        }

        //7.添加内容
        for (int i = 0; i < values.length; i++) {
            row = sheet.createRow(i+1);
            for (int j = 0; j < values[i].length; j++) {
                row.createCell(j).setCellValue(values[i][j]);
            }
        }

        return wb;
    }

}
